草庐IT

java - 在单独的类上执行 runOnUiThread

全部标签

javascript - 如何使用 JavaScript 在单独的线程中打开一个新选项卡? ( Chrome )

是否可以打开一个将在单独线程中运行的新弹出选项卡?更具体地说,如果我创建一个新的弹出选项卡并在该新选项卡中开始调试,则包含链接的选项卡也会暂停javascript,直到我在新选项卡中单击恢复。我想要实现的是创建一个独立的新选项卡,这样我就可以在父选项卡继续运行时调试它。我在使用Chrome浏览器时遇到了这个问题。请注意,这在Firefox中运行良好(尚未在其他浏览器中测试过)。 最佳答案 通常chrome会强制新窗口在相同的进程ID上运行。但是,有一些技术可以让站点打开一个新窗口而不用强制它进入相同的进程:使用指向新窗口的不同网站的

javascript - iOS 8 Safari 打印重定向不会停止 javascript 执行

我需要提供在成功保存并在打印重定向到搜索页面后打印标签的能力。这适用于chrome、firefox,即iOS6/7safari等。但是,当从javascript发出window.print()时,iOS8似乎不再停止javascript的执行。如果您导航到thisjsfiddleexample从iOS8Safari(连接到计算机,以便您可以查看控制台日志)并单击“打印”按钮,您将看到console.log将在打印对话框启动时触发。因此,如果您想打印然后导航,您将打印错误的屏幕,除非您有足够的时间来点击打印的延迟,这在这种情况下是NotAcceptable。我做了一个人为的延迟,因为在i

javascript - 如何在对象内部执行递归归约函数?

我正在使用Javascript在客户端上执行此操作。我要转型:[{"id":10,"name":"Designer","slug":"designer","children":[{"id":11,"name":"UI/VisualDesigner","slug":"ui-visual-designer","children":[]},...]},{"id":1,"name":"SoftwareEngineer","slug":"software-engineer","children":[{"id":2,"name":"Back-EndDeveloper","slug":"back-e

javascript - Rel PreRender/PreFetch,是否执行JS?

如果我在页面上有Javascript来预呈现/预取(例如GoogleAnalyticsJS),预呈现/预取会在页面上执行Javascript吗?还是它会延迟JS的执行,直到用户实际请求该页面? 最佳答案 我刚刚对此做了更多研究:Prefetch将加载顶级资源,通常只是HTML页面Prerender也将获取子元素,并将执行Javascript代码。使用页面可见性API,我们可以确定加载页面的当前可见性状态。所以答案是肯定的,只要用户在Chrome上并且正在使用预渲染,它就会执行JS。此外,当前版本的GoogleAnalytics充分利

javascript - 警报后使用 setTimeout 在 Firefox 中以错误顺序执行的代码

在任意浏览器中运行以下代码(多试几次):console.log('processing:task#1');setTimeout(function(){console.log('processing:task#3');},0);alert('Seeconsolelogs');console.log('processing:task#2');根据我的理解,上面的代码将导致控制台输出为:"processing:task#1""processing:task#2""processing:task#3"但在Firefox(v38.0.1)中,它会产生以下输出:"processing:task#1

javascript - 为什么设置 window.location.href 不会停止脚本执行

无论重定向是1还是任何其他数字,以下代码都会将位置更改为www.bing.com。如果redirect为1,它会记录“正在重定向”,然后重定向到www.bing.com。我最好的猜测是,当href被设置时,一个change-event被触发,但它在执行之前需要一些滴答声。同时,后面的第一行代码仍然被执行。要么?发生了什么事?if(redirect==1){console.log("isredirecting");window.location.href="http://www.google.com";}window.location.href="http://www.bing.com"

javascript - 有没有办法让我的 JavaScript 执行到 "nice"?

我想在浏览器窗口中运行一些计算,但我不希望它减慢客户端计算机的用户交互速度,尤其是对于单核机器。有什么方法可以调整我执行JavaScript的nice级别,以便它在不影响机器响应能力的情况下尽可能快地执行? 最佳答案 除了延迟执行您的计算,我想不出任何其他办法。例如,将所有工作分成小块,然后在每个任务之间以一定的延迟(使用setTimeout或setInterval)按顺序运行它们。 关于javascript-有没有办法让我的JavaScript执行到"nice"?,我们在StackOv

javascript - 停止从另一个函数执行 Javascript 函数

有什么方法可以停止从另一个函数执行被调用的函数吗?我有以下代码:-functionMainFunction(){//alongcodethatrunsforfewtime};MainFuntion();Stoptherunningscript所以基本思想是从另一个函数返回一个函数 最佳答案 JavaScript通常是单线程的-这意味着当一个函数在浏览器中执行时,没有其他代码可以同时运行-包括事件处理程序,例如onclick(它们只会在功能齐全)。因此,在这种情况下,您不能从代码中中断函数的执行。有两种解决方法:长时间运行的函数可以有

javascript - 使用 Flow 执行 'import type' 而不是 'import' 是否有意义?

Flow允许您使用以下语法导入类型://SomeClass.jsexportdefaultclassSomeClass{}//SomeFile.jsimporttypeSomeClassfrom'./SomeClass';使用importtype而不是import有什么好处?它是否告诉Flow更多信息并让它执行更好的静态分析? 最佳答案 对于类的特定情况,这两个示例都可以。关键是它像这样分解:importtype...from导入Flow类型import...from导入一个标准的JS值,以及该值的类型。一个JS类产生一个值,但是F

javascript - 如何在 Protractor 中先执行一个元素然后再执行另一个元素

以下代码随机运行,有时运行良好,有时会抛出这样的错误StaleElementReferenceException我想要的是首先执行下面的这个element(by.id('FiltItemTransDocNo')).sendKeys(grno);在上面之后我希望它在下面执行element.all(by.name('chkGrd')).first().click();我试过这种方法,但似乎没有用element(by.id('FiltItemTransDocNo')).sendKeys(grno).then(function(el){element.all(by.name('chkGrd')